package MyMap;

import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;

public class Demo2 {
    public static void main(String[] args) {
        //Map的第一种遍历方式
        //创建集合
        Map<String,Integer> m=new HashMap<>();
        //添加元素
        m.put("华为",6000);
        m.put("小米",5600);
        m.put("一加",5000);

        //获取每一个键放到单列集合中
//        Set<String> set = m.keySet();
        //遍历单列集合，通过键找出对应的值
        //迭代器
//        Iterator<String> iterator = set.iterator();

//        while(iterator.hasNext()){
//            String keys = iterator.next();
//            int val=m.get(keys);
//            System.out.println(keys+"="+val);
//        }
        //Lambda表达式

//        set.forEach();
        //增强for
//        for (String s : set) {
//            int val=m.get(s);
//            System.out.println(s+"="+val);
//        }

        //第二种遍历方式

        //通过键值对对象进行遍历
        //创建set集合获取每一个键值对
//        Set<Map.Entry<String, Integer>> entries = m.entrySet();

//
//        for (Map.Entry<String, Integer> entry : entries) {
//            String key = entry.getKey();
//            Integer value = entry.getValue();
//            System.out.println(key+"="+value);
//
//        }
        //迭代器
//        Iterator<Map.Entry<String, Integer>> iterator = entries.iterator();
//       while(iterator.hasNext()){
//           Map.Entry entry = iterator.next();
//           Object key = entry.getKey();
//           Object value = entry.getValue();
//           System.out.println(key+"="+value);
//       }

        //第三种遍历方式
        //Lambda表达式
        m.forEach(new BiConsumer<String, Integer>() {
            @Override
            public void accept(String key, Integer value) {
                System.out.println(key+"="+value);
            }
        });
        System.out.println("-----------------------------------------");
        m.forEach((String key, Integer value)-> {
                System.out.println(key+"="+value);
            }
        );
        System.out.println("-----------------------------------------");

        m.forEach((key, value) -> System.out.println(key+"="+value));


    }
}
